home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / gui / muibuilder21.lha / MUIBuilder / MB / E / DemoGenCodeE30b / GUI.e < prev    next >
Encoding:
Text File  |  1994-10-14  |  5.3 KB  |  185 lines

  1. OPT MODULE
  2.  
  3.  
  4. ->*****
  5. ->** External modules
  6. ->*****
  7. MODULE 'muimaster' , 'libraries/mui'
  8. MODULE 'tools/boopsi'
  9. MODULE 'utility/tagitem' , 'utility/hooks'
  10.  
  11.  
  12. ->*****
  13. ->** Object definitions
  14. ->*****
  15. EXPORT OBJECT app_arexx
  16.     commands :    PTR TO mui_command
  17.     error    :    hook
  18. ENDOBJECT
  19.  
  20. EXPORT OBJECT app_display
  21.     button_pressed          :    hook
  22. ENDOBJECT
  23.  
  24. EXPORT OBJECT app_obj
  25.     app                     :    PTR TO LONG
  26.     wi_the_window           :    PTR TO LONG
  27.     bt_put_constant_string  :    PTR TO LONG
  28.     bt_put_variable         :    PTR TO LONG
  29.     bt_return_id            :    PTR TO LONG
  30.     bt_call_hook            :    PTR TO LONG
  31.     tx_result               :    PTR TO LONG
  32.     bt_quit                 :    PTR TO LONG
  33.     stR_TX_result           :    PTR TO CHAR
  34. ENDOBJECT
  35.  
  36.  
  37. ->*****
  38. ->** Constant definitions
  39. ->*****
  40. EXPORT ENUM
  41.     ID_BUTTON_PRESSED = 1
  42.  
  43.  
  44. ->*****
  45. ->** Global variable definitions
  46. ->*****
  47. EXPORT DEF string_var
  48.  
  49.  
  50. /*************************************************************************
  51. ** Method to create one instance of one object or the whole application **
  52. *************************************************************************/
  53. PROC create( display : PTR TO app_display ,
  54.              icon  = NIL ,
  55.              arexx = NIL : PTR TO app_arexx ,
  56.              menu  = NIL ) OF app_obj
  57.  
  58.     DEF grOUP_ROOT_0C , gr_grp_0 , gr_grp_1 , la_result , gr_grp_2
  59.  
  60.     self.stR_TX_result           := 'Zzzzzzzzzzzzz'
  61.  
  62.     self.bt_put_constant_string := Mui_MakeObjectA(MUIO_Button,[ 'Put _Constant String' ])
  63.  
  64.     self.bt_put_variable := Mui_MakeObjectA(MUIO_Button,[ 'Put _Variable' ])
  65.  
  66.     self.bt_return_id := Mui_MakeObjectA(MUIO_Button,[ '_Return ID' ])
  67.  
  68.     self.bt_call_hook := Mui_MakeObjectA(MUIO_Button,[ 'Call _Hook' ])
  69.  
  70.     la_result := Mui_MakeObjectA(MUIO_Label,[ 'Result' ,0])
  71.  
  72.     self.tx_result := Mui_NewObjectA('Text.mui',[TAG_IGNORE,0 ,
  73.         MUIA_HelpNode , 'TX_result' ,
  74.         MUIA_Frame , MUIV_Frame_Text ,
  75.         MUIA_Text_Contents , self.stR_TX_result ,
  76.         MUIA_Text_SetMin , MUI_TRUE ,
  77.     TAG_DONE])
  78.  
  79.     gr_grp_1 := Mui_NewObjectA('Group.mui',[TAG_IGNORE,0 ,
  80.         MUIA_Group_Horiz , MUI_TRUE ,
  81.         MUIA_Group_Child , la_result ,
  82.         MUIA_Group_Child , self.tx_result ,
  83.     TAG_DONE])
  84.  
  85.     gr_grp_0 := Mui_NewObjectA('Group.mui',[TAG_IGNORE,0 ,
  86.         MUIA_Frame , MUIV_Frame_Group ,
  87.         MUIA_FrameTitle , 'Click !' ,
  88.         MUIA_Group_Child , self.bt_put_constant_string ,
  89.         MUIA_Group_Child , self.bt_put_variable ,
  90.         MUIA_Group_Child , self.bt_return_id ,
  91.         MUIA_Group_Child , self.bt_call_hook ,
  92.         MUIA_Group_Child , gr_grp_1 ,
  93.     TAG_DONE])
  94.  
  95.     self.bt_quit := Mui_MakeObjectA(MUIO_Button,[ '_Quit' ])
  96.  
  97.     gr_grp_2 := Mui_NewObjectA('Group.mui',[TAG_IGNORE,0 ,
  98.         MUIA_Group_Child , self.bt_quit ,
  99.     TAG_DONE])
  100.  
  101.     grOUP_ROOT_0C := Mui_NewObjectA('Group.mui',[TAG_IGNORE,0 ,
  102.         MUIA_Group_Child , gr_grp_0 ,
  103.         MUIA_Group_Child , gr_grp_2 ,
  104.     TAG_DONE])
  105.  
  106.     self.wi_the_window := Mui_NewObjectA('Window.mui',[TAG_IGNORE,0 ,
  107.         MUIA_Window_Title , 'The window !' ,
  108.         MUIA_HelpNode , 'WI_the_window' ,
  109.         MUIA_Window_ID , "0WIN" ,
  110.         MUIA_Window_RootObject , grOUP_ROOT_0C ,
  111.     TAG_DONE])
  112.  
  113.     self.app := Mui_NewObjectA('Application.mui',[TAG_IGNORE,0 ,
  114.         ( IF icon THEN MUIA_Application_DiskObject ELSE TAG_IGNORE ) , icon ,
  115.         ( IF arexx.commands THEN MUIA_Application_Commands ELSE TAG_IGNORE ) , arexx.commands ,
  116.         ( IF arexx.error THEN MUIA_Application_RexxHook ELSE TAG_IGNORE ) , arexx.error ,
  117.         ( IF menu THEN MUIA_Application_Menu ELSE TAG_IGNORE ) , menu ,
  118.         MUIA_Application_Author , 'Lionel Vintenat' ,
  119.         MUIA_Application_Base , 'DEMOGENCODEE' ,
  120.         MUIA_Application_Title , 'DemoGenCodeE' ,
  121.         MUIA_Application_Version , '$VER: DemoGenCodeE 1.0 (01.09.94)' ,
  122.         MUIA_Application_Copyright , 'Public Domain !' ,
  123.         MUIA_Application_Description , 'Application example for GenCodeE' ,
  124.         MUIA_Application_Window , self.wi_the_window ,
  125.     TAG_DONE])
  126.  
  127. ENDPROC self.app
  128.  
  129.  
  130. /**********************************************************
  131. ** Method to dispose the object or the whole application **
  132. **********************************************************/
  133. PROC dispose() OF app_obj IS Mui_DisposeObject( self.app )
  134.  
  135.  
  136. /*****************************************************************************************
  137. ** Method to initialize all the notifications of one object or of the whole application **
  138. *****************************************************************************************/
  139. PROC init_notifications( display : PTR TO app_display ) OF app_obj
  140.  
  141.     domethod( self.bt_put_constant_string , [
  142.         MUIM_Notify , MUIA_Pressed , FALSE ,
  143.         self.tx_result ,
  144.         3 ,
  145.         MUIM_Set , MUIA_Text_Contents , 'Constant string put !' ] )
  146.  
  147.     domethod( self.bt_put_variable , [
  148.         MUIM_Notify , MUIA_Pressed , FALSE ,
  149.         self.tx_result ,
  150.         3 ,
  151.         MUIM_Set , MUIA_Text_Contents , string_var ] )
  152.  
  153.     domethod( self.bt_return_id , [
  154.         MUIM_Notify , MUIA_Pressed , FALSE ,
  155.         self.app ,
  156.         2 ,
  157.         MUIM_Application_ReturnID , ID_BUTTON_PRESSED ] )
  158.  
  159.     domethod( self.bt_call_hook , [
  160.         MUIM_Notify , MUIA_Pressed , FALSE ,
  161.         self.app ,
  162.         2 ,
  163.         MUIM_CallHook , display.button_pressed ] )
  164.  
  165.     domethod( self.bt_quit , [
  166.         MUIM_Notify , MUIA_Pressed , FALSE ,
  167.         self.app ,
  168.         2 ,
  169.         MUIM_Application_ReturnID , MUIV_Application_ReturnID_Quit ] )
  170.  
  171.     domethod( self.wi_the_window , [
  172.         MUIM_Window_SetCycleChain , self.bt_put_constant_string ,
  173.         self.bt_put_variable ,
  174.         self.bt_return_id ,
  175.         self.bt_call_hook ,
  176.         self.tx_result ,
  177.         self.bt_quit ,
  178.         0 ] )
  179.  
  180.     SetAttrsA( self.wi_the_window ,[Eval(`(        MUIA_Window_Open )), MUI_TRUE ,TAG_DONE])
  181.  
  182. ENDPROC
  183.  
  184.  
  185.